回到MNIST手寫數字辨識的單元,前面已經完成了模型的建立及訓練,也學會如何印出和判讀訓練過程,那麼最後我們就要使用這個模型來對資料進行預測。在開始之前,我們要先稍微評估目前模型的預測準確率,若是相差太遠,則要考慮加強訓練後再拿來使用,若評估尚可,即可開始做辨識預測。
藉由model的evaluate方法,放入對應的參數,就能夠簡單利用未參與訓練的測試資料集來評估準確率。這邊所得到的準確度大約為0.9783≒0.98,看來訓練的還不錯!
確認模型的準確率在可接受範圍內,那麼要準備使用這個模型對資料做預測。
把要辨識的資料集放入括弧內作為參數,並儲存在prediction這個變數中。
這步驟只是把預測結果簡略的用陣列形式依序從頭印出,如果要查看比較詳細的內容則要進到下一步驟。
所使用的程式碼是運用到我曾經在第21篇介紹過的定義出plot_images_labels_prediction函數,只要分別代入影像資料、真實值、預測結果、索引值、以及印出的數量,就能呈現出以下所看到的執行結果。可以特別注意到我印出的辨識結果中,最左下角那張影像的真實值為4,但是我們訓練好的模型卻預測為9,即是所謂的預測錯誤,正常情況下比較容易發生在字跡較潦草或是較模糊的資料。